package com.itheima.service.umsService;

import com.itheima.domain.db.ums.UmsMenu;
import com.itheima.domain.db.ums.UmsResource;
import com.itheima.domain.db.ums.UmsRole;
import com.itheima.vo.PageBeanVo;

import java.util.List;

/**
 * @author DogeGuo
 */
public interface UmsRoleService {
    //根据角色id集合查询角色集合
    List<UmsRole> findByRoleIds(List<Long> roleIds);
    /*
     * 分页查询角色信息
     * */
    PageBeanVo findAll(Integer pageNum, Integer pageSize,String keyword);

    /*
    * 查询所有角色
    * */
    List<UmsRole> findAllRoles();


    UmsRole findRoleByName(String name);

    // 创建角色
    void creatRole(UmsRole umsRole);

    // 根据角色id查询
    UmsRole findById(Integer roleId);

    // 更新角色的信息 （包括状态）
    void updateRoleInfo(UmsRole umsRole);

    //获取角色相关菜单
    List<UmsMenu> findRoleMenu(Long roleId);

    // 给角色分配菜单
    void roleAllocMenu(Long roleId, List<Long> menuIds);

    //获取指定角色角色相关资源
    List<UmsResource> findRoleResourceListByRoleId(Long roleId);

    //给指定角色分配资源
    void roleAllocResource(Long roleId, List<Long> resourceIds);

    // 批量删除角色
    void deleteRoleByIds(List<Long> roleIds);
}
